⚠️ ATTENTION : DISPOSITIF DANGEREUX ⚠️

Ce fusil à plasma ionisé est une arme expérimentale à usage éducatif uniquement. Toute utilisation hors d’un cadre scientifique sécurisé, sous supervision qualifiée, est strictement interdite. Risques : haute tension (300 kV), brûlures, chocs électriques mortels, incendie. Ne jamais diriger vers des personnes, animaux ou objets inflammables. Portez des EPI adaptés (gants 36 kV, masque Cal. 4) et respectez les protocoles de sécurité. Vous êtes responsable de toute conséquence liée à une mauvaise utilisation.

1️⃣ Objectifs

Créer un fusil à plasma capable de générer, confiner et propulser un plasma ionisé grâce à des composants simples et disponibles.

Pourquoi ? Ce projet éducatif vous permet d’apprendre comment fonctionne le plasma, les champs magnétiques et les circuits électroniques complexes, tout en développant vos compétences techniques.

Pour qui ? Ce tutoriel est conçu pour les curieux de science et technologie, même sans expérience préalable. Chaque étape est détaillée pour que même un enfant, avec de l’aide, puisse suivre.

2️⃣ Spécifications Techniques

3️⃣ Composants Avancés

ComposantSpécificationRôleOù le trouverCalcul ou Détail
Batterie LiPo22.2V, 10Ah, 800gAlimentation principaleHobbyKing799 kJ (22.2 × 10 × 3600)
Convertisseur DC-DC22V→450V, 500WBooste pour supercondensateurAmazonEfficacité ~90%
FlybackTransformateur HV, 1:100Haute tension initialeeBay (CRT TV)10-15 kV
Multiplicateur HV6 étages Cockcroft-WaltonMonte à 300 kVFab : 6 diodes 20 kV + 6 condos 2 nFVout ≈ 266 kV
ÉlectrodesTungstène, Ø2 mm, écart 5 mmGénération arc plasmaSoudure TIGRésiste 3000°C
TubePolycarbonate, 80 cm, 0.01 TorrContient plasmaLeroy Merlinλₑ ≈ 8 cm
Bobines Helmholtz6x50 tours, Ø10 cm, fil 0.8 mmConfinement magnétiqueCuivre + DIYB ≈ 1T @ 70A
MOSFETs SiC6x, 1200V, 80AContrôle bobinesMouserSwitch 150 μs
Arduino Nano5V, 16 MHzContrôle séquencesAmazon6 PWM
Supercondensateur1000F, 450VPropulsionFarnellE = 101 kJ
Relais HV500V, 50ADécharge supercondensateurÉlectroniqueRéponse <10 ms
Bobine Focale10 tours, Ø5 cmPropulsion finaleCuivre + DIY5000 J/impulsion
GâchetteBouton + 10 kΩDéclenchement manuelBricolageVia Arduino
Coque ABSMoulé, ailettesProtection thermiqueImprimante 3DRésiste 100°C

Schéma Électrique Détaillé

[Alimentation 22.2V]──[Convertisseur DC-DC 450V]──[Multiplicateur HV]──[Électrodes]
                         │                          │
[Arduino Mega]──[Driver MOSFET]──[Bobines Helmholtz]           [Capteur Hall]
                         │
[Supercondensateur 1000F]─[Relais HV]──[Bobine Accélératrice]
            

4️⃣ Fondements Théoriques

Équations Clés

Énergie du plasma :

E = ½CV² + ½LI²

Où C=capacité (F), V=tension (V), L=inductance (H), I=courant (A)

Force de Lorentz :

F = q(v × B)

q=charge particule (C), v=vitesse (m/s), B=champ magnétique (T)

Optimisation de Portée

Pour atteindre 10 m :

Paramètres requis :
- Énergie : ≥15 kJ (augmenter supercondensateur à 3000F)
- Tension : 100 kV (ajouter étage multiplicateur Cockcroft-Walton)
- Bobines : 20 tours/cm (augmenter densité magnétique)
- Vide partiel : 0.1 atm (réduire la résistance du milieu)
            

5️⃣ Étapes de Construction

Ajout de la Gâchette

Pourquoi ajouter une gâchette ?

Une gâchette permet de contrôler manuellement le tir, garantissant la sécurité et la précision.

Instructions :

  1. Connectez une borne du bouton-poussoir à une broche numérique de l'Arduino (par exemple, broche 7).
  2. Connectez l'autre borne du bouton à la masse (GND).
  3. Ajoutez une résistance de pull-down (10 kΩ) entre la broche numérique et la masse pour stabiliser le signal.

Schéma ASCII :

   +5V (Arduino)
      |
     [ ] Bouton-poussoir
      |
   Pin 7 (Arduino)
      |
   [10kΩ] Résistance pull-down
      |
   GND (Arduino)
            

Code Arduino :

const int relayPin = 8; // Broche pour contrôler le relais
const int sensorPin = 2; // Capteur (IR ou Hall)
const int triggerPin = 7; // Gâchette (bouton-poussoir)
void setup() {
  pinMode(relayPin, OUTPUT); 
  pinMode(sensorPin, INPUT);
  pinMode(triggerPin, INPUT_PULLUP); 
}
void loop() {
  if (digitalRead(sensorPin) == HIGH && digitalRead(triggerPin) == LOW) {
    digitalWrite(relayPin, HIGH);
    delay(50);
    digitalWrite(relayPin, LOW);
  }
}
            

Étape 1 : Génération de Plasma

Pourquoi cela fonctionne ?

Un plasma se forme lorsqu’un courant électrique ionise l'air ambiant en brisant ses molécules. Cela crée un gaz conducteur visible sous forme d’un arc lumineux.

Instructions :

  1. Préparer le Transformateur Flyback :
    • Connectez les bornes primaires du Flyback à un convertisseur DC-DC (12-24V).
    • Reliez les bornes secondaires à un condensateur haute tension (10 kV, 100 nF) pour stabiliser la tension.
  2. Installer les Électrodes :
    • Placez deux électrodes en tungstène dans un tube en verre (espacement : 5 mm).
    • Connectez chaque électrode aux bornes secondaires du Flyback.
  3. Tester :
    • Branchez la batterie et observez un arc lumineux entre les électrodes. Si rien ne se passe, vérifiez vos connexions.

Schéma ASCII :

   +24V (Batterie)
      |
   [Flyback]
      |
   [Condensateur 10kV]
      |
   [Électrodes Tungstène]
            

Conseil pour débutants :

Si l’arc n’apparaît pas, vérifiez que la batterie est bien chargée et que toutes les connexions sont solides.

Étape 2 : Confinement Magnétique

Pourquoi cela fonctionne ?

Les champs magnétiques générés par les bobines interagissent avec les particules chargées du plasma, le guidant à travers le tube.

Instructions :

  1. Créer les Bobines :
    • Enroulez 50 tours de fil de cuivre autour du tube, en espaçant chaque bobine de 2 cm.
    • Fixez chaque bobine avec du ruban isolant pour éviter qu’elles ne bougent.
  2. Connecter les MOSFET :
    • Reliez chaque bobine au Drain d’un MOSFET et connectez la Source au GND.
    • Les Gates des MOSFET sont connectées à l’Arduino pour leur activation.
  3. Programmer l’Arduino :
    int coilPins[] = {3, 5, 6, 9, 10, 11, 12, 13, A0, A1}; // Broches reliées aux MOSFET des bobines
    void setup() {
      for (int i = 0; i < 10; i++) {
        pinMode(coilPins[i], OUTPUT); // Configure les broches des bobines en sortie
      }
    }
    void loop() {
      for (int i = 0; i < 10; i++) {
        digitalWrite(coilPins[i], HIGH); // Active une bobine
        delay(100); // Maintient la bobine active pendant 100 ms
        digitalWrite(coilPins[i], LOW); // Désactive la bobine
      }
    }
                        

Schéma ASCII :

   [Bobine 1] -- [MOSFET 1] -- Arduino
   [Bobine 2] -- [MOSFET 2] -- Arduino
   [Bobine 3] -- [MOSFET 3] -- Arduino
   [Bobine 4] -- [MOSFET 4] -- Arduino
   [Bobine 5] -- [MOSFET 5] -- Arduino
   [Bobine 6] -- [MOSFET 6] -- Arduino
            

Astuce pour débutants :

Si une bobine ne fonctionne pas, testez-la avec un multimètre pour vérifier qu’elle est correctement connectée.

Étape 3 : Propulsion

Pourquoi cela fonctionne ?

Le supercondensateur libère une décharge rapide dans une bobine finale, produisant un champ magnétique puissant pour propulser le plasma.

Instructions :

  1. Installer la Bobine Finale :
    • Enroulez 15 tours de fil de cuivre à l’extrémité du tube.
    • Connectez la bobine au relais haute puissance.
  2. Connecter le Supercondensateur :
    • Reliez-le à la bobine via le relais et ajoutez une diode haute puissance pour éviter les retours de courant.
  3. Programmer l’Arduino :
    const int relayPin = 8; // Broche pour contrôler le relais
    const int sensorPin = 2; // Broche reliée au capteur (IR ou Hall)
    void setup() {
      pinMode(relayPin, OUTPUT); // Configure le relais en sortie
      pinMode(sensorPin, INPUT); // Configure le capteur en entrée
    }
    void loop() {
      if (digitalRead(sensorPin) == HIGH) { // Si le plasma est détecté
        digitalWrite(relayPin, HIGH); // Active le relais pour propulser
        delay(50); // Maintient la décharge pendant 50 ms
        digitalWrite(relayPin, LOW); // Désactive le relais
      }
    }
                        

Schéma ASCII :

   [Supercondensateur] -- [Relais] -- [Bobine Finale]
            

6️⃣ Modélisation Mathématique

Calcul de Puissance

Paramètres initiaux :

  • Capacité : 1000F
  • Tension : 450V
  • Résistance de décharge : 50mΩ

Énergie stockée :

E = ½ × 1000 × 450² = 101 kJ

Puissance instantanée :

P = V²/R = 450²/0.05 = 4050 kW

Thermodynamique du Plasma

Température des électrons :
kTₑ ≈ eEλₑ ≈ 1.6e-19 × 1e6 × 0.1 ≈ 10 eV (∼116,000K)
Densité critique :
nₑ = ε₀mₑω²/e² ≈ 1e18 m⁻³ (pour f=1MHz)
            

7️⃣ Techniques Avancées

Contrôle en Boucle Fermée

// Code Arduino optimisé avec PID
#include 
double Setpoint, Input, Output;
PID myPID(&Input, &Output, &Setpoint, 2,5,1, DIRECT);
void setup() {
  myPID.SetMode(AUTOMATIC);
  myPID.SetSampleTime(1);
}
void loop() {
  Input = analogRead(sensorPin)/1024.0*5000; // Lecture capteur
  Setpoint = 3000; // 3kV cible
  myPID.Compute();
  analogWrite(MOSFETpin, Output/5000.0*255); // Correction PWM
}
            

Refroidissement Cryogénique

Schéma d'installation :

[Réservoir LN2]──[Échangeur Cuivre]──[Bobines]
       │                │
[Ventilateur]   [Capteur Température]
            
minton

8️⃣ Protocoles de Sécurité

Dispositifs Obligatoires

  • Interverrouillage magnétique
  • Écran de protection en polycarbonate (20mm)
  • Détecteur de fuite RF (1-100MHz)

EPI Requis

  • Gants diélectriques Classe 4 (36kV)
  • Masque à arc électrique (Cal. 4)
  • Tablier aluminisé anti-thermique

Schéma de Mise à la Terre

[Châssis]──[Piquet Terre Cuivre]──[Réseau Terre Bâtiment]
  │             │
[Fil 25mm²]  [Résistance 10Ω]
            

9️⃣ Schémas de Câblage Avancés

Architecture Principale (ASCII)

                           [Alim 22.2V]
                              │
        ┌───────────┬─────────┼─────────┬───────────┐
        │           │         │         │           │
     [PFC]   [Convertisseur] [MCU]   [Capteurs]  [Interface]
     900W      22V→450V     Arduino     IR/Hall    Utilisateur
        │           │         │             │
        └─────┬─────┘         └──────┬──────┘
              │                      │
           [Stockage Énergie]    [Contrôle]
          1000F @ 450V          PID Magnétique
              │
        ┌─────┴─────┐
        │           │
  [Bobines HV]  [Accélérateur]
  20x Ø200mm     Électrostatique
            

Détail Alimentation Haute Tension

[22.2V DC]──[IR2153]──[Transformateur Ferrite]──[Multiplicateur 10 étages]
               │           1:100                   │         │         │
            [MOSFET]                           [Diodes 20kV] [Condensateurs 2nF]
                                                       │
                                                    [Électrode]
            

🔟 Procédures de Test Rigoureuses

Phase 1 : Tests Composants

ÉtapeProcédureMesures
1.1Test diélectrique transformateur0 → 50kV @ 1kV/s, fuite <5μA
1.2Caractérisation bobinesL (μH) = ¼π²f²C, Q > 50 @ 1MHz

Phase 2 : Intégration

  1. Alimentation sous vide (10⁻² mBar)
    • Activation progressive 10% → 100% sur 5 cycles
    • Vérifier absence de corona (caméra UV)
  2. Synchronisation bobines
    • Délai inter-bobines : 250μs ±10μs
    • Utiliser oscilloscope 4 canaux + sonde différentielle

Test Final de Performance

1. Charger supercondensateur à 450V
2. Amorcer plasma avec impulsion 100μs
3. Activer séquence confinement (bobine 1 → 20)
4. Déclencher accélérateur au point t=20ms
5. Mesurer avec :
   - Spectromètre optique (température plasma)
   - Caméra rapide 100,000 fps
   - Calorimètre à impact (énergie transférée)
            

1️⃣1️⃣ Analyse des Modes de Défaillance (AMDEC)

ComposantMode DéfaillanceCriticitéContremesure
MOSFETClaquage avalanche8/10Snubber RC (10Ω + 10nF) + varistance
BobinesÉchauffement → déformation7/10Capteur température + arrêt auto à 150°C
AlimentationOndulation excessive9/10Filtre LC (10mH + 10mF) + régulation active

Arbre de Défaillance Critique

Perte confinement plasma
  ├── Alim HV instable
  │    ├── Ondulation > 5%
  │    └── Dérive thermique
  └── Désynchronisation bobines
       ├── Erreur timing Arduino
       └── Bruit EMI
            

1️⃣2️⃣ Certifications Requises

CE (Europe)

  • Directive Basse Tension 2014/35/UE
  • Compatibilité Électromagnétique 2014/30/UE
  • Essais :
    • Décharge électrostatique 8kV (EN 61000-4-2)
    • Émission rayonnée 30MHz-1GHz (EN 55032)

UL (USA/Canada)

  • UL 60950-1 (Équipements IT)
  • UL 61010 (Matériel de mesure)
  • Tests spécifiques :
    • Incendie : flamme 500°C/30s
    • Isolation : 2.5kV AC pendant 60s

1️⃣3️⃣ Code Complet du Système de Contrôle

/*
 * Contrôleur Principal Fusil Plasma v2.3
 * Fonctionnalités :
 * - Gestion séquentielle des bobines
 * - Régulation PID de la température
 * - Protocole de sécurité SIL 2
 * - Interface utilisateur OLED
 */
#include 
#include 
#include 
// Configuration Matérielle
#define COIL_PINS {3,5,6,9,10,11,12,13,A0,A1}
#define TEMP_SENSOR A2
#define HV_ENABLE 8
#define TRIGGER 7
#define PRESSURE_SENSOR A3
#define RELAY_PIN 8
// Constantes Physiques
const float MAX_TEMP = 85.0; // °C
const int COIL_SEQ_DELAY = 250; // μs
const int PRESSURE_MIN = 250; // 0.1 mBar (ADC)
PID tempPID(&tempInput, &tempOutput, &tempSetpoint, 2.5, 0.1, 0.05, DIRECT);
Adafruit_SSD1306 oled(128, 64, &Wire, -1);
Watchdog wdt;
void setup() {
  // Initialisation Matérielle
  pinMode(HV_ENABLE, OUTPUT);
  pinMode(RELAY_PIN, OUTPUT);
  for(int pin : COIL_PINS) pinMode(pin, OUTPUT);
  // Configuration PID
  tempPID.SetOutputLimits(0, 255);
  tempPID.SetSampleTime(100);
  // Interface Utilisateur
  oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  wdt.enable(Watchdog::TIMEOUT_2S);
}
void loop() {
  wdt.reset();
  // Lecture Capteurs
  float temp = readTemperature();
  int pressure = analogRead(PRESSURE_SENSOR);
  // Vérifications Sécurité
  if(temp > MAX_TEMP || pressure < PRESSURE_MIN) {
    emergencyShutdown();
    return;
  }
  // Gestion Déclenchement
  if(digitalRead(TRIGGER) == LOW) {
    executeFireSequence();
  }
  updateDisplay();
}
void executeFireSequence() {
  // Phase 1 : Génération Plasma
  digitalWrite(HV_ENABLE, HIGH);
  delayMicroseconds(100);
  // Phase 2 : Confinement Magnétique
  for(int i=0; i<10; i++) {
    digitalWrite(COIL_PINS[i], HIGH);
    delayMicroseconds(COIL_SEQ_DELAY);
    digitalWrite(COIL_PINS[i], LOW);
  }
  // Phase 3 : Propulsion
  triggerCapacitorBank();
  digitalWrite(HV_ENABLE, LOW);
}
void triggerCapacitorBank() {
  digitalWrite(RELAY_PIN, HIGH);
  delay(50);
  digitalWrite(RELAY_PIN, LOW);
}
float readTemperature() {
  // Conversion ADC → Température (LM35)
  int raw = analogRead(TEMP_SENSOR);
  return raw * (5.0/1024.0) * 100.0;
}
void emergencyShutdown() {
  digitalWrite(HV_ENABLE, LOW);
  for(int pin : COIL_PINS) digitalWrite(pin, LOW);
  oled.clearDisplay();
  oled.println("ARRET D'URGENCE!");
  oled.display();
  while(1) wdt.reset();
}
void updateDisplay() {
  oled.clearDisplay();
  oled.setCursor(0,0);
  oled.print("Temp: "); oled.print(temp); oled.println("C");
  oled.print("Pression: "); oled.print(map(pressure,0,1023,0,1000)); oled.println(" mBar");
  oled.display();
}
            

1️⃣4️⃣ Procédures d'Étalonnage

1. Capteur de Hall (Champ Magnétique)

  • Matériel Requis :
    • Étalon Helmholtz (1.000 ±0.001 T)
    • Alimentation DC stabilisée
    • Multimètre 6½ digits
  • Procédure :
    1. Placer le capteur au centre des bobines
    2. Appliquer 0T → 2T par pas de 0.2T
    3. Mesurer la sortie analogique
    4. Ajuster les coefficients dans l'équation : B = a*V + b*V²

2. Capteur IR (Plasma)

  • Matériel Requis :
    • Source lumineuse étalon (NIST-traceable)
    • Filtres neutres certifiés
    • Oscilloscope 1GHz
  • Procédure :
    1. Éclairer le capteur avec 50mW/cm² @ 850nm
    2. Vérifier la réponse en fréquence jusqu'à 1MHz
    3. Corriger le gain avec potentiomètre trimmer
    4. Vérifier la linéarité avec filtres OD1 à OD4

3. Circuit de Mesure HV

  • Matériel Requis :
    • Générateur HV 100kV (Classe 0.1)
    • Diviseur résistif 1000:1
    • Oscilloscope isolé
  • Procédure :
    1. Appliquer 10kV par pas de 2kV jusqu'à 50kV
    2. Mesurer la sortie analogique
    3. Ajuster les résistances du diviseur : R1/R2 = (V_in/V_out) - 1
    4. Vérifier la réponse impulsionnelle (10% → 90% en <1μs)

Feuille d'Étalonnage Type

Date: ___________  Technicien: ___________
Instrument: Capteur de Hall #12
--------------------------------------------------
| Point | Référence | Mesuré | Erreur | Action  |
--------------------------------------------------
| 0.0T  | 0.000     | 0.002  | +0.002 | Ajusté  |
| 1.0T  | 1.000     | 0.997  | -0.003 | Ajusté  |
| 2.0T  | 2.000     | 2.010  | +0.010 | Toléré  |
--------------------------------------------------
Commentaires: Ajustement du trimmer R34
            

1️⃣5️⃣ Résultats Attendus

1️⃣6️⃣ FAQ

Comment éviter une surchauffe ?

Ajoutez des dissipateurs thermiques aux MOSFET.

Comment garantir la sécurité ?

Travaillez avec des gants isolants et gardez une distance de sécurité.

1️⃣7️⃣ Recommandations

Utilisez ce projet uniquement pour des expériences éducatives ou des démonstrations scientifiques. Ne l’utilisez jamais à des fins nuisibles.

1️⃣8️⃣ Crédits et Licence

Créateur : Platon-y pour "PCTamalou" – Passionné de science et d’innovation, dédié à partager des projets éducatifs accessibles à tous.

Contributeurs : Merci à la communauté DIY et aux makers qui inspirent ces projets.

Licence : Ce contenu est sous licence Creative Commons CC BY-NC-SA 4.0 – Attribution, usage non commercial, partage dans les mêmes conditions. Vous pouvez partager et adapter ce guide à condition de créditer "PCTamalou", de ne pas en faire un usage commercial, et de redistribuer sous la même licence. Plus d’infos : CC BY-NC-SA 4.0.

Contact : Pour questions ou collaborations, envoyez un e-mail.